home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / randrproto.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  6KB  |  210 lines

  1. /*
  2.  * $XFree86: xc/include/extensions/randrproto.h,v 1.6 2002/09/29 23:39:43 keithp Exp $
  3.  *
  4.  * Copyright ⌐ 2000 Compaq Computer Corporation
  5.  * Copyright ⌐ 2002 Hewlett-Packard Company
  6.  *
  7.  * Permission to use, copy, modify, distribute, and sell this software and its
  8.  * documentation for any purpose is hereby granted without fee, provided that
  9.  * the above copyright notice appear in all copies and that both that
  10.  * copyright notice and this permission notice appear in supporting
  11.  * documentation, and that the name of Compaq or HP not be used in advertising
  12.  * or publicity pertaining to distribution of the software without specific,
  13.  * written prior permission.  Compaq and HP makes no representations about the
  14.  * suitability of this software for any purpose.  It is provided "as is"
  15.  * without express or implied warranty.
  16.  *
  17.  * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  18.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL COMPAQ
  19.  * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  20.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  21.  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
  22.  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  23.  *
  24.  * Author:  Jim Gettys, Hewlett-Packard Company, Inc.
  25.  */
  26.  
  27. /* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
  28. /* V1.0 removes depth switching from the protocol */
  29. #ifndef _XRANDRP_H_
  30. #define _XRANDRP_H_
  31.  
  32. #include <X11/extensions/randr.h>
  33.  
  34. #define Window CARD32
  35. #define Drawable CARD32
  36. #define Font CARD32
  37. #define Pixmap CARD32
  38. #define Cursor CARD32
  39. #define Colormap CARD32
  40. #define GContext CARD32
  41. #define Atom CARD32
  42. #define Time CARD32
  43. #define KeyCode CARD8
  44. #define KeySym CARD32
  45.  
  46. #define Rotation CARD16
  47. #define SizeID CARD16
  48. #define SubpixelOrder CARD16
  49.  
  50. /*
  51.  * data structures
  52.  */
  53.  
  54. typedef struct {
  55.     CARD16 widthInPixels B16;
  56.     CARD16 heightInPixels B16;
  57.     CARD16 widthInMillimeters B16;
  58.     CARD16 heightInMillimeters B16;
  59. } xScreenSizes;
  60. #define sz_xScreenSizes 8
  61.  
  62. /* 
  63.  * requests and replies
  64.  */
  65.  
  66. typedef struct {
  67.     CARD8   reqType;
  68.     CARD8   randrReqType;
  69.     CARD16  length B16;
  70.     CARD32  majorVersion B32;
  71.     CARD32  minorVersion B32;
  72. } xRRQueryVersionReq;
  73. #define sz_xRRQueryVersionReq   12
  74.  
  75. typedef struct {
  76.     BYTE    type;   /* X_Reply */
  77.     BYTE    pad1;
  78.     CARD16  sequenceNumber B16;
  79.     CARD32  length B32;
  80.     CARD32  majorVersion B32;
  81.     CARD32  minorVersion B32;
  82.     CARD32  pad2 B32;
  83.     CARD32  pad3 B32;
  84.     CARD32  pad4 B32;
  85.     CARD32  pad5 B32;
  86. } xRRQueryVersionReply;
  87. #define sz_xRRQueryVersionReply    32
  88.  
  89. typedef struct {
  90.     CARD8   reqType;
  91.     CARD8   randrReqType;
  92.     CARD16  length B16;
  93.     Window  window B32;
  94. } xRRGetScreenInfoReq;
  95. #define sz_xRRGetScreenInfoReq   8
  96.  
  97. /* 
  98.  * the xRRScreenInfoReply structure is followed by:
  99.  *
  100.  * the size information
  101.  */
  102.  
  103.  
  104. typedef struct {
  105.     BYTE    type;   /* X_Reply */
  106.     BYTE    setOfRotations;
  107.     CARD16  sequenceNumber B16;
  108.     CARD32  length B32;
  109.     Window  root B32;
  110.     Time    timestamp B32;
  111.     Time    configTimestamp B32;
  112.     CARD16  nSizes B16;
  113.     SizeID  sizeID B16;
  114.     Rotation  rotation B16;
  115.     CARD16  rate B16;
  116.     CARD16  nrateEnts B16;
  117.     CARD16  pad B16;
  118. } xRRGetScreenInfoReply;
  119. #define sz_xRRGetScreenInfoReply    32
  120.  
  121. typedef struct {
  122.     CARD8    reqType;
  123.     CARD8    randrReqType;
  124.     CARD16   length B16;
  125.     Drawable drawable B32;
  126.     Time     timestamp B32;
  127.     Time     configTimestamp B32;
  128.     SizeID   sizeID B16;
  129.     Rotation rotation B16;
  130. } xRR1_0SetScreenConfigReq;
  131. #define sz_xRR1_0SetScreenConfigReq   20
  132.  
  133. typedef struct {
  134.     CARD8    reqType;
  135.     CARD8    randrReqType;
  136.     CARD16   length B16;
  137.     Drawable drawable B32;
  138.     Time     timestamp B32;
  139.     Time     configTimestamp B32;
  140.     SizeID   sizeID B16;
  141.     Rotation rotation B16;
  142.     CARD16   rate B16;
  143.     CARD16   pad B16;
  144. } xRRSetScreenConfigReq;
  145. #define sz_xRRSetScreenConfigReq   24
  146.  
  147. typedef struct {
  148.     BYTE    type;   /* X_Reply */
  149.     CARD8   status;
  150.     CARD16  sequenceNumber B16;
  151.     CARD32  length B32;
  152.     Time    newTimestamp B32;  
  153.     Time    newConfigTimestamp B32;
  154.     Window  root;
  155.     CARD16  subpixelOrder B16;
  156.     CARD16  pad4 B16;
  157.     CARD32  pad5 B32;
  158.     CARD32  pad6 B32;
  159. } xRRSetScreenConfigReply;
  160. #define sz_xRRSetScreenConfigReply 32
  161.  
  162. typedef struct {
  163.     CARD8   reqType;
  164.     CARD8   randrReqType;
  165.     CARD16  length B16;
  166.     Window  window B32;
  167.     CARD16  enable B16;
  168.     CARD16  pad2 B16;
  169. } xRRSelectInputReq;
  170. #define sz_xRRSelectInputReq   12
  171.  
  172. #define sz_xRRSelectInputReq   12
  173.  
  174. /*
  175.  * event
  176.  */
  177. typedef struct {
  178.     CARD8 type;                /* always evBase + ScreenChangeNotify */
  179.     CARD8 rotation;            /* new rotation */
  180.     CARD16 sequenceNumber B16;
  181.     Time timestamp B32;            /* time screen was changed */
  182.     Time configTimestamp B32;        /* time config data was changed */
  183.     Window root B32;            /* root window */
  184.     Window window B32;            /* window requesting notification */
  185.     SizeID sizeID B16;            /* new size ID */
  186.     CARD16 subpixelOrder B16;        /* subpixel order */
  187.     CARD16 widthInPixels B16;        /* new size */
  188.     CARD16 heightInPixels B16;
  189.     CARD16 widthInMillimeters B16;
  190.     CARD16 heightInMillimeters B16;
  191. } xRRScreenChangeNotifyEvent;
  192. #define sz_xRRScreenChangeNotifyEvent    32
  193.  
  194. #undef Window
  195. #undef Drawable
  196. #undef Font
  197. #undef Pixmap
  198. #undef Cursor
  199. #undef Colormap
  200. #undef GContext
  201. #undef Atom
  202. #undef Time
  203. #undef KeyCode
  204. #undef KeySym
  205. #undef Rotation
  206. #undef SizeID
  207. #undef SubpixelOrder
  208.  
  209. #endif /* _XRANDRP_H_ */
  210.